#include"dao_gsl_permutation.h"

#ifdef __cplusplus
extern "C"{
#endif

/*  gsl_permutation.h */


static void dao_gsl_permutation_GETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_permutation_SETF_size( DaoContext *_ctx, DValue *_p[], int _n );
static void dao_gsl_permutation_GETF_data( DaoContext *_ctx, DValue *_p[], int _n );
static DaoNumItem dao_gsl_permutation_Nums[] =
{
  { NULL, 0, 0 }
};
static void dao_gsl_permutation_gsl_permutation( DaoContext *_ctx, DValue *_p[], int _n );

static DaoFuncItem dao_gsl_permutation_Meths[] = 
{
  { dao_gsl_permutation_GETF_size, ".size( self : gsl_permutation )=>int" },
  { dao_gsl_permutation_SETF_size, ".size=( self : gsl_permutation, size : int )" },
  { dao_gsl_permutation_GETF_data, ".data( self : gsl_permutation )=>int" },
  { dao_gsl_permutation_gsl_permutation, "gsl_permutation(  )=>gsl_permutation" },
  { NULL, NULL }
};
static void Dao_gsl_permutation_Delete( void *self )
{
	free( self );
}

static DaoTypeBase gsl_permutation_Typer = 
{ "gsl_permutation", NULL, 
  dao_gsl_permutation_Nums,
  dao_gsl_permutation_Meths, 
  { 0 },
  { 0 },
  Dao_gsl_permutation_Delete,
  NULL
};
DaoTypeBase DAO_DLL_GSL_PERMUTATION *dao_gsl_permutation_Typer = & gsl_permutation_Typer;
static void dao_gsl_permutation_GETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_permutation *self = (gsl_permutation*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_permutation_Typer);
  DaoContext_PutInteger( _ctx, (int) self->size );
}
static void dao_gsl_permutation_SETF_size( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_permutation *self = (gsl_permutation*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_permutation_Typer);
  self->size = (size_t) _p[1]->v.i;
}
static void dao_gsl_permutation_GETF_data( DaoContext *_ctx, DValue *_p[], int _n )
{
  gsl_permutation *self = (gsl_permutation*)DaoCData_CastData(_p[0]->v.cdata,dao_gsl_permutation_Typer);
  DaoContext_PutArrayInteger( _ctx, (int*) self->data, 0 );
}
static void dao_gsl_permutation_gsl_permutation( DaoContext *_ctx, DValue *_p[], int _n )
{
	gsl_permutation *self = Dao_gsl_permutation_New();
	DaoContext_PutCData( _ctx, self, dao_gsl_permutation_Typer );
}

#ifdef __cplusplus
}
#endif

DaoTypeBase *dao_gsl_permutation_struct_Typer = & gsl_permutation_Typer;
